<!DOCTYPE html>
<html
    lang="en"
    prefix="og: https://ogp.me/ns#"
>

<head>
    <meta charset="utf-8">
    <title>RxDB - Premium Plugins</title>
    <link
        rel="canonical"
        href="https://rxdb.info/premium.html"
    />
    <meta
        name="description"
        content="RxDB plugins for professionals. FAQ, pricing and license."
    />
    <meta
        property="og:title"
        content="RxDB - A client side, offline-first, reactive database for JavaScript Applications"
    />
    <meta
        name="theme-color"
        content="#e6008d"
    />
    <meta
        name="twitter:site"
        content="@rxdbjs"
    />
    <meta
        name="viewport"
        content="width=device-width,initial-scale=1.0"
    />
    <link
        rel="stylesheet"
        href="styles/variables.css"
    />
    <link
        rel="stylesheet"
        href="styles/landingpage.css"
    />
    <link
        rel="icon"
        href="./files/logo/logo.svg"
        sizes="any"
        type="image/svg+xml"
    />
    <link
        rel="apple-touch-icon"
        href="./files/logo/icon.png"
    />
    <script
        src="analytics.js"
        defer
    ></script>
</head>

<body>
    <header>
        <a href="/">
            <div class="logo">
                <img
                    src="./files/logo/logo.svg"
                    alt="RxDB"
                    width="60"
                    height="60"
                />
                <div class="text">RxDB</div>
            </div>
        </a>

        <div class="right">
            <a
                href="/quickstart.html"
                target="_blank"
                class="text"
                onclick="window.trigger('goto_docs', 0.20)"
            >Docs</a>
            <a
                href="https://github.com/pubkey/rxdb"
                rel="noopener"
                target="_blank"
                class="text"
                onclick="window.trigger('goto_code', 0.20)"
            >Code</a>
            <a
                href="https://discord.gg/tqt9ZttJfD"
                rel="noopener"
                target="_blank"
                class="text"
                onclick="window.trigger('join_chat', 0.20)"
            >Chat</a>
            <a
                href="https://github.com/pubkey/rxdb"
                rel="noopener"
                target="_blank"
                onclick="window.trigger('goto_code', 0.20)"
            >
                <div class="star-at-github bg-gradient-right-bottom">
                    <div class="star-at-github-inner">
                        <img src="./files/icons/github-star.svg" />
                        <div class="star-at-github-text">at GitHub</div>
                    </div>
                </div>
            </a>
            <div class="clear"></div>
        </div>
        <div class="clear"></div>
    </header>

    <div class="header-space"></div>


    <div class="block first">
        <div class="content centered">
            <h2><b class="underline">RxDB</b> Premium Plugins</h2>
            <p style="width: 80%;">
                To make RxDB a sustainable project, some plugins are not part of the RxDB open source project.
                Instead they are part of the <b>rxdb-premium</b> package which must be purchased.<br />
                Professional developers use these to get the best <b>performance</b> and the most out of RxDB.
            </p>

            <div class="premium-blocks">

                <a
                    href="./rx-storage-indexeddb.html"
                    target="_blank"
                >
                    <div class="premium-block hover-shadow-middle bg-gradient-left-top">
                        <div class="premium-block-inner">
                            <h4>RxStorage IndexedDB</h4>
                            <p>A really fast storage based on <b>IndexedDB</b>. Made to be used in browsers.</p>
                        </div>
                    </div>
                </a>



                <a
                    href="./rx-storage-sqlite.html"
                    target="_blank"
                >
                    <div class="premium-block hover-shadow-middle bg-gradient-right-bottom">
                        <div class="premium-block-inner">
                            <h4>RxStorage SQLite</h4>
                            <p>
                                A really fast storage based on <b>SQLite</b>.
                                Used with <b>Node.js</b>, <b>Electron</b>, <b>React Native</b>, <b>Cordova</b>
                                or <b>Capacitor</b>.
                            </p>
                        </div>
                    </div>
                </a>

                <a
                    href="./rx-storage-sharding.html"
                    target="_blank"
                >
                    <div class="premium-block hover-shadow-middle bg-gradient-left-top">
                        <div class="premium-block-inner">
                            <h4>RxStorage Sharding</h4>
                            <p>
                                A wrapper around any other storage that improves performance by applying the sharding
                                technique.
                            </p>
                        </div>
                    </div>
                </a>


                <a
                    href="./storage-migration.html"
                    target="_blank"
                >
                    <div class="premium-block hover-shadow-middle bg-gradient-right-bottom">
                        <div class="premium-block-inner">
                            <h4>Storage Migration</h4>
                            <p>
                                A plugins that migrates data from one storage to another. Use this when you want to
                                change the used RxStorage or to migrate data from an older RxDB major version.
                            </p>
                        </div>
                    </div>
                </a>

                <a
                    href="./rx-storage-memory-synced.html"
                    target="_blank"
                >
                    <div class="premium-block hover-shadow-middle bg-gradient-left-top">
                        <div class="premium-block-inner">
                            <h4>RxStorage Memory Synced</h4>
                            <p>
                                A wrapper around any other storage that creates a synced in-memory copy
                                which improves performance for the initial page load time and write&read operations.
                            </p>
                        </div>
                    </div>
                </a>

                <a
                    href="./query-optimizer.html"
                    target="_blank"
                >
                    <div class="premium-block hover-shadow-middle bg-gradient-right-bottom">
                        <div class="premium-block-inner">
                            <h4>Query Optimizer</h4>
                            <p>
                                A tool to find the best index for a given query. You can use this during build time to
                                find the best index and then use that index during runtime.
                            </p>
                        </div>
                    </div>
                </a>

                <a
                    href="./rx-storage-localstorage-meta-optimizer.html"
                    target="_blank"
                >
                    <div class="premium-block hover-shadow-middle bg-gradient-left-top">
                        <div class="premium-block-inner">
                            <h4>RxStorage Localstorage Meta Optimizer</h4>
                            <p>
                                A wrapper around any other storage which optimizes the initial page load one
                                by using localstorage for meta key-value document. Only works in <b>browsers</b>.
                            </p>
                        </div>
                    </div>
                </a>

                <a
                    href="./rx-storage-shared-worker.html"
                    target="_blank"
                >
                    <div class="premium-block hover-shadow-middle bg-gradient-right-bottom">
                        <div class="premium-block-inner">
                            <h4>RxStorage SharedWorker</h4>
                            <p>
                                A RxStorage wrapper to run the storage inside of a SharedWorker which improves
                                the performance by taking CPU load await from the main process. Used in <b>browsers</b>.
                            </p>
                        </div>
                    </div>
                </a>
                <a
                    href="./rx-storage-worker.html"
                    target="_blank"
                >
                    <div class="premium-block hover-shadow-middle bg-gradient-left-top">
                        <div class="premium-block-inner">
                            <h4>RxStorage Worker</h4>
                            <p>
                                A RxStorage wrapper to run the storage inside of a Worker which improves
                                the performance by taking CPU load await from the main process.
                            </p>
                        </div>
                    </div>
                </a>
                <a
                    href="./encryption.html"
                    target="_blank"
                >
                    <div class="premium-block hover-shadow-middle bg-gradient-right-bottom">
                        <div class="premium-block-inner">
                            <h4>WebCrypto Encryption</h4>
                            <p>
                                A faster and more secure encryption plugin based on the Web Crypto API.
                            </p>
                        </div>
                    </div>
                </a>
                <div class="clear"></div>
            </div>

        </div>
    </div>

    <div class="block dark">
        <div class="content centered">
            <h2>Estimated Price <b class="underline">Calculator</b></h2>


            <div class="price-calculator">
                <div class="price-calculator-inner">

                    <form id="price-calculator-form">



                        <div class="field">
                            <label for="developer-count">Team Size:</label>
                            <div class="input">
                                <input
                                    type="number"
                                    name="developer-count"
                                    min="1"
                                    max="100"
                                    required
                                    onkeydown="return event.keyCode !== 69 && event.keyCode !== 189 && event.keyCode !== 190"
                                />
                                <div class="suffix">Developer(s)</div>
                            </div>
                        </div>

                        <div class="field">
                            <label for="home-country">Company Home Country:</label>
                            <div class="input">
                                <input
                                    list="home-country"
                                    name="home-country"
                                    pattern="[A-Za-z]{2}"
                                    required
                                    style="width: 100%; max-width: 240px;"
                                >
                                <datalist id="home-country">
                                    <!-- filled by premium.ts -->
                                </datalist>
                            </div>
                        </div>


                        <div class="field">
                            <label for="company-age">Company Age:</label>
                            <div class="input">
                                <select
                                    name="company-age"
                                    id="company-age"
                                    required
                                >
                                    <option
                                        value=""
                                        selected="true"
                                        disabled="disabled"
                                    ></option>
                                    <option value="more-than-3">Older</option>
                                    <option value="less-than-3">Younger</option>
                                </select>
                                <div class="suffix">than 3 Years</div>
                            </div>
                        </div>

                        <div class="packages">
                            <div class="package bg-gradient-left-top">
                                <div class="package-inner">
                                    <input
                                        name="package-browser"
                                        type="checkbox"
                                        class="package-checkbox"
                                        checked
                                    >
                                    <h4>Browser Package</h4>
                                    <ul>
                                        <li>
                                            <a
                                                href="./rx-storage-indexeddb.html"
                                                target="_blank"
                                            >RxStorage IndexedDB</a>
                                        </li>
                                        <li>
                                            <a
                                                href="./rx-storage-shared-worker.html"
                                                target="_blank"
                                            >RxStorage SharedWorker</a>
                                        </li>
                                        <li>
                                            <a
                                                href="./encryption.html"
                                                target="_blank"
                                            >WebCrypto Encryption</a>
                                        </li>
                                    </ul>
                                </div>
                            </div>
                            <div class="package bg-gradient-left-top">
                                <div class="package-inner">
                                    <input
                                        name="package-native"
                                        type="checkbox"
                                        class="package-checkbox"
                                        checked
                                    >
                                    <h4>Native Package</h4>
                                    <ul>
                                        <li>
                                            <a
                                                href="./rx-storage-sqlite.html"
                                                target="_blank"
                                            >RxStorage SQLite</a>
                                        </li>
                                    </ul>
                                </div>
                            </div>
                            <div class="package bg-gradient-left-top">
                                <div class="package-inner">
                                    <input
                                        name="package-performance"
                                        type="checkbox"
                                        class="package-checkbox"
                                        checked
                                    >
                                    <h4>Performance Package</h4>
                                    <ul>
                                        <li>
                                            <a
                                                href="./rx-storage-sharding.html"
                                                target="_blank"
                                            >RxStorage Sharding</a>
                                        </li>
                                        <li>
                                            <a
                                                href="./rx-storage-memory-synced.html"
                                                target="_blank"
                                            >RxStorage Memory Synced</a>
                                        </li>
                                        <li>
                                            <a
                                                href="./query-optimizer.html"
                                                target="_blank"
                                            >Query Optimizer</a>
                                        </li>
                                        <li>
                                            <a
                                                href="./rx-storage-localstorage-meta-optimizer.html"
                                                target="_blank"
                                            >RxStorage Localstorage Meta Optimizer</a>
                                        </li>
                                        <li>
                                            <a
                                                href="./rx-storage-worker.html"
                                                target="_blank"
                                            >RxStorage Worker</a>
                                        </li>
                                    </ul>
                                </div>
                            </div>
                            <div class="package bg-gradient-left-top">
                                <div class="package-inner">
                                    <input
                                        name="package-utilities"
                                        type="checkbox"
                                        class="package-checkbox"
                                        checked
                                        disabled
                                    >
                                    <h4>Utilities Package <b>always included</b></h4>
                                    <ul>
                                        <li>
                                            <a
                                                href="./storage-migration.html"
                                                target="_blank"
                                            >Storage migration</a>
                                        </li>
                                    </ul>
                                </div>
                            </div>
                            <div class="package bg-gradient-left-top">
                                <div class="package-inner">
                                    <input
                                        name="package-sourcecode"
                                        type="checkbox"
                                        class="package-checkbox"
                                    >
                                    <h4>Source Code access</h4>
                                    <p>
                                        Get read access to the unminified plain source code of all purchased packages.<br />
                                    </p>
                                </div>
                            </div>
                        </div>

                        <div
                            class="button"
                            id="price-calculator-submit"
                        >Estimate Price</div>
                    </form>

                    <div
                        id="price-calculator-result"
                        style="display: none;"
                    >
                        <hr />
                        <h4>Estimated Price:</h4>
                        <table>
                            <tr>
                                <th>Estimated Price Per Developer per Month</th>
                                <td>
                                    <a
                                        id="total-per-developer-per-month"
                                        target="_blank"
                                        rel="nofollow noopener noreferrer"
                                        title="Click to convert to other currency"
                                        href="#"
                                    >XX €</a>
                                </td>
                            </tr>
                            <tr>
                                <th>Estimated Total Price per Year</th>
                                <td>
                                    <a
                                        id="total-per-year"
                                        target="_blank"
                                        rel="nofollow noopener noreferrer"
                                        title="Click to convert to other currency"
                                        href="#"
                                    >XX €</a>
                                </td>
                            </tr>
                        </table>
                        <div class="proceed-hint">
                            Fill out
                            <a href="#premium-request-form-block"><b>this form</b></a>
                            to proceed.
                            </span>
                        </div>

                    </div>
                </div>
            </div>
        </div>

        <div class="block">
            <div class="content centered premium-faq">
                <h2>F.A.Q. <b>(click to toggle)</b></h2>
                <details>
                    <summary>
                        Do I need the Premium Plugins?
                    </summary>
                    When you start using RxDB, you do not need access to the premium plugins. Most use cases can be
                    implemented with the Open Core part of RxDB. There are many <a
                        href="./rx-storage.html"
                        target="_blank"
                    >RxStorage</a>
                    options and all core plugins that are required for replication, schema validation, encryption and so
                    on,
                    are totally free. As soon as your application is more then a side project, it is pretty easy to
                    switch
                    to RxDB Premium Plugins by just changing a few lines of configuration.<br />
                    The main benefit of the Premium Plugins is <b>performance</b>. The Premium RxStorage implementations
                    have a better performance
                    so reading and writing data is much faster especially on low-end devices. You can find a performance
                    comparison <a
                        href="./rx-storage.html#performance-comparison"
                        target="_blank"
                    >here</a>.
                    Also there are additional Premium Plugins that can be used to further optimize the performance of
                    your
                    application like the <a
                        href="./query-optimizer.html"
                        target="_blank"
                    >Query Optimizer</a> or the <a
                        href="./rx-storage-sharding.html"
                        target="_blank"
                    >Sharding</a> plugin.
                </details>

                <details>
                    <summary>
                        Why is it not for free?
                    </summary>
                    The development of RxDB started in 2016 and after all these years it became clear that big
                    implementation and improvement steps will not be done by the RxDB community. While the community
                    submits
                    valuable pull requests, they are mostly small improvements or bugfixes for specific edge case. Big
                    rewrites and optimizations that require a big effort have only be done by the RxDB maintainer.<br />
                    Selling RxDB Premium ensures that there will be always an incentive for someone to add features,
                    keep
                    everything up to date and to further improve and optimize the codebase. This gives the user the
                    confidence that RxDB is a <b>future proof</b> tech stack to build on which lets RxDB stand out
                    compared
                    to similar technologies.
                </details>

                <details>
                    <summary>
                        Why is there no free trial period?
                    </summary>
                    <ul>
                        <li>
                            RxDB is written in JavaScript and the code of the Premium Plugins does not contain any
                            tracking or measurement code that would send information from your application
                            to our servers in production mode. As soon as someone has the code on his computer,
                            the maintainer has no chance to really ensure that after a free trial period the code is
                            no longer used and deleted.
                        </li>
                        <li>
                            Before you can use the Premium Plugins you have to debate and sign a license agreement with
                            the
                            maintainer. This is a sophisticated process that creates overhead which distracts the
                            maintainer
                            from writing RxDB code. So handling trial period users is just not manageable. For this
                            reason
                            there is also no monthly subscriptions. Premium access must be paid <b>per year</b>.
                        </li>
                    </ul>
                </details>

                <details>
                    <summary>
                        Why is it not cheaper?
                    </summary>
                    The price of the Premium Plugins is chosen in way that ensures that there can be always one person
                    that
                    develops RxDB <b>full time</b>.
                    Compared to other JavaScript frameworks and developer tools, RxDB satisfies an edge use case for
                    people
                    that want to store data inside of their application on the users device. Most web developers do not
                    need
                    to do that and rely on the traditional client-server stack. So RxDB cannot be sold to that many
                    people
                    which increases the price.
                </details>

                <details>
                    <summary>
                        Can I install/build the premium plugins in my CI?
                    </summary>
                    <b>Yes</b> you can safely install and use the Premium Plugins in your CI without additional payment.
                </details>

                <details>
                    <summary>
                        Can I get a discount?
                    </summary>
                    Discounts are provided for people that have made a significant contribution to RxDB or one of RxDB's
                    dependencies or to the Open Source Community overall.
                    Also for private personal projects there is the option to solve one of the
                    <a
                        href="https://github.com/pubkey/rxdb/blob/master/orga/premium-tasks.md"
                        target="_blank"
                    >Premium Tasks</a>
                    to get 3 years access to the Premium Plugins.
                </details>

                <details>
                    <summary>
                        Can I still use the code after the license has expired?
                    </summary>
                    <b>Yes</b>, after the license has expired, you are still allowed to use the newest version of
                    the plugins, which existed at the last day when the license was valid.<br />
                    Newer versions of the plugins cannot be used without purchasing a new license.
                </details>
            </div>
        </div>

        <div
            class="block dark"
            id="premium-request-form-block"
        >
            <div class="content centered premium-request">
                <h2>Request Premium <b class="underline">Form</b></h2>

                <iframe
                    id="request-premium-form"
                    src="https://webforms.pipedrive.com/f/6rAw4GGXeleL4JGz2Vn0kv0gbALmQXruUXRjUOlDqG3lB9UZ8n4OOSmHBNDJ187e5t"
                >
                    Your browser doesn't support iframes, <a
                        href="https://webforms.pipedrive.com/f/6rAw4GGXeleL4JGz2Vn0kv0gbALmQXruUXRjUOlDqG3lB9UZ8n4OOSmHBNDJ187e5t"
                        rel="nofollow"
                    >go here</a>
                </iframe>
            </div>
        </div>

        <script
            src="premium.js"
            defer
        ></script>

</body>

</html>
